Visualization on Marker Gene
====================================================
This dataset contains 4,714 cells from the **Red Nucleus** region of the human midbrain, as part of the **Human Brain Cell Atlas**. For more details, refer to the `description `_. It is available for free download in **h5ad** format from the **CELLxGENE** website via this link: `Download Link `_.
Hierarchical Clustering of the Data
--------------------------------------------------
.. code-block:: python
import requests
import anndata
import CellScope
from scipy.sparse import issparse
import numpy as np
url = "https://datasets.cellxgene.cziscience.com/5488ff72-58ed-4f0d-913c-1b6d4d8412b1.h5ad"
file_path = "Siletti-1.h5ad"
response = requests.get(url, stream=True)
if response.status_code == 200:
with open(file_path, "wb") as f:
for chunk in response.iter_content(chunk_size=8192):
f.write(chunk)
adata = anndata.read_h5ad("Siletti-1.h5ad")
fea_raw = adata.X
cell_types = adata.obs['cell_type']
Gene_Name = adata.var['feature_name']
label = np.array(cell_types)
fea_raw,fea_log,fea = CellScope.cs.Normalization(fea_raw)
fea_Fitting_1, Signal_Space, Center_index = CellScope.cs.Manifold_Fitting_1(fea)
if issparse(fea_Fitting_1):
fea_Fitting_1 = fea_Fitting_1.toarray()
fea_Fitting_2, fitting_index, index_after_outlier_removal = CellScope.cs.Manifold_Fitting_2(fea_Fitting_1)
T_all_1 = CellScope.cs.GraphCluster(fea_Fitting_1)
T_all_2 = CellScope.cs.GraphCluster(fea_Fitting_2)
Y_1 = CellScope.cs.Visualization(fea_Fitting_1)
Y_2 = CellScope.cs.Visualization(fea_Fitting_2)
Identify the marker genes for Cluster 3-1 and Cluster 3-2
---------------------------------------------------------
.. code-block:: python
Y_initial, label_step0, Y_1, Title_1, Y_all, Title_all, index_1, index_all, step0, step1 = CellScope.ts.generate_tree_structured(fea_Fitting_1, T_all_1, step0 = None, step1 = 8)
cluster1 = index_all[2]
cluster2 = index_all[3]
label = T_all_1[:,8]
marker_gene_indices,_ = CellScope.fm.FindMarker(fea_log, cluster1, cluster2, selected_number = 5, selected_method = 'diff pct')
marker_gene_name = np.array(Gene_Name[marker_gene_indices])
CellScope offers various visualization methods for marker genes
Color the visualization results using the expression levels of the marker genes
------------------------------------------------------------------------------------------------------------------
.. code-block:: python
CellScope.gev.scatter_gene_expression(fea_log,Y_initial,marker_gene_indices,marker_gene_name,figsize=(15, 9), subplot_size = None,
save_fig=False, save_path=None)
.. image:: _static/scatter_gene_expression.png
Plot the mean expression heatmap of genes across different cell groups
------------------------------------------------------------------------------------------------------------------
.. code-block:: python
CellScope.gev.plot_mean_expression_heatmap(fea_log, marker_gene_indices,marker_gene_name, label)
.. image:: _static/plot_mean_expression_heatmap.png
Plot the expression heatmap of marker genes across different cell types
------------------------------------------------------------------------------------------------------------------
.. code-block:: python
CellScope.gev.plot_clustered_heatmap(fea_log, marker_gene_indices, marker_gene_name,
label, save_fig=False, save_path=None)
.. image:: _static/plot_clustered_heatmap.png
Plot violin plots to compare the expression levels of marker genes between different classes
------------------------------------------------------------------------------------------------------------------
.. code-block:: python
CellScope.gev.compare_violin_plot_between_classes(fea_log, marker_gene_indices, marker_gene_name,
cluster1, cluster2, class_name=['Cluster 3-1', 'Cluster 3-2'],
figsize=(10, 3), save_fig=False, save_path=None)
.. image:: _static/compare_violin_plot_between_classes.png